<?php 
/**
* Main_contr
* 
* Дэфолтный контроллер. Реализует авторизацию пользователей,
* создание и хранение сессионных данных, logout. 
* 
* @author Утехин Е.А. <hotab.jn@gmail.com>
* @version 1.0
*/

if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Main_contr extends CI_Controller {

   /**
   * Метод класса
   * 
   * Формирует данные для главной страницы сайта.
   * 
   */
	public function index()	{
		$data = array();
		$this->session;
		if ($this->session->userdata('is_auth') == 1) {
			$data['email'] = $this->session->userdata('email');
			$data['is_auth'] = $this->session->userdata('is_auth');
		}
		$data['list'] = $this->Films_model->get_films_list();
		$data['stat'] = $this->Films_model->get_stat();
		$this->load->view('main', $data);
	}
	
	public function login() {
		$this->load->view('loginform');
	}
	
   /**
   * Метод класса
   * 
   * Производит авторизацию пользователей на сайте.
   * При успешной авторизации формируется сессионная 
   * переменная с основными данными о пользователе.
   * 
   * 
   */	
	public function auth() {
		if ($this->input->post('sub')) {
			$data['email'] = $this->input->post('email', TRUE);
			$pass = $this->input->post('password', TRUE);
			$data['password'] = md5($pass);
			$auth_code = $this->Main_model->get_auth_status($data);
			switch ($auth_code) {
				case '1':
					$ses['email'] = $data['email'];
					$ses['is_auth'] = 1;
					$ses['idusers'] = $this->Main_model->get_user_id($ses['email']);
					$this->session;
					$this->session->set_userdata($ses);
					$ses['list'] = $this->Films_model->get_films_list();
					$ses['stat'] = $this->Films_model->get_stat();
					$this->load->view('main', $ses);
				break;
				case '2':
					$ses['text'] = "Вы ввели неправильный пароль!";
					$this->load->view('loginform', $ses);
				break;
			}
		}
		else {
			$this->load->view('loginform');
		}
	}
	
   /**
   * Метод класса
   * 
   * Реализует возможность выхода из учетной записи.
   * 
   */	
	public function logoff() {
		$this->session->sess_destroy();
		redirect('/', 'refresh');
	}
}